Autonomous systems can use planning systems to select, configure, and schedule actions that perform tasks and achieve or maintain certain conditions in order to meet a set of conjunctive goals. Adaptive control systems execute plans using conditional logic to adjust how actions are performed in particular situations in order to attempt to meet the goals through the selected sets of plans and their actions. Diagnostic systems detect faults and other types of problems that can reduce system capabilities and capacities. When these problems occur, the autonomous system must adapt by generating and executing a new plan, requiring coordination among the planning, execution, and diagnosis subsystems.
Developing and maintaining interfaces between each autonomous system component by hand is time-consuming and error-prone. The various diagnosis, planning, and execution subsystems operate using their respective knowledge bases and data models, which encode assumptions about the system's configuration, state, and operating procedures, sometimes in subtle ways. Because the subsystems use different models, subsystem interfaces must translate between these models. Changes in system state, system configuration, operating rules, and other assumptions can require revisions to both the models and subsystem interfaces.
Accordingly, an improved approach may be beneficial.